package com.block.datapush.form.item.util;

import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.block.common.enums.BaseTypeInfoEnum;

import java.util.Arrays;
import java.util.List;

/**
 * 新点贷
 */
public class XinDianDaiUtil {



    /**
     * 公积金：6个月以上、6个月以下、无公积金
     *
     * @param gjj
     * @return
     */
    public static String getGjj(String gjj) {
        if (StrUtil.equals(gjj, BaseTypeInfoEnum.Gjj.gjj001.getValue())) {
            return "无";
        } else if (StrUtil.equals(gjj, BaseTypeInfoEnum.Gjj.gjj002.getValue())) {
            return "有";
        }
        return "无";
    }



    /**
     * 社保：6个月以上、6个月以下、无社保
     *
     * @param socialInsurance
     * @return
     */
    public static String getShebao(String socialInsurance) {
        if (StrUtil.equals(socialInsurance, BaseTypeInfoEnum.SocialInsurance.si001.getValue())) {
            return "无";
        } else if (StrUtil.equals(socialInsurance, BaseTypeInfoEnum.SocialInsurance.si002.getValue())) {
            return "有";
        }
        return "无";
    }

    /**
     * 投保信息：投保两年以上、投保两年以下、无
     *
     * @param insurance
     * @return
     */
    public static String getBaodan(String insurance) {
        if (StrUtil.equals(insurance, BaseTypeInfoEnum.Insurance.in001.getValue())) {
            return "无";
        } else if (StrUtil.equals(insurance, BaseTypeInfoEnum.Insurance.in002.getValue())) {
            return "有";
        }
        return "无";
    }

    /**
     芝麻分值(350-950)，具体分值
     *
     * @param zhimaScore
     * @return
     */
    public static Integer getZhima(String zhimaScore) {
        if (StrUtil.equals(zhimaScore, BaseTypeInfoEnum.ZhimaScore.zm002.getValue())) {
            return 590;
        } else if (StrUtil.equals(zhimaScore, BaseTypeInfoEnum.ZhimaScore.zm003.getValue())) {
            return 649;
        }else if (StrUtil.equals(zhimaScore, BaseTypeInfoEnum.ZhimaScore.zm004.getValue())) {
            return 690;
        }else if (StrUtil.equals(zhimaScore, BaseTypeInfoEnum.ZhimaScore.zm005.getValue())) {
            return 700;
        }
        return 590;
    }

    /**
     * 800【无】；801【3000以下】；802【3000-1万】；803【1-3万】；804【3万以上】；
     *
     * @param huabei
     * @return
     */
    public static String getHuabei(String huabei) {
        if (StrUtil.equals(huabei, BaseTypeInfoEnum.Huabei.hb001.getValue())) {
            return "无";
        }
        return "有";
    }

    /**
     * 白条 ：900【无】；901【3000以下】；902【3000-1万】；903【1-3万】；904【3万以上】；
     *
     * @param baitiao
     * @return
     */
    public static String getBaitiao(String baitiao) {
        if (StrUtil.equals(baitiao, BaseTypeInfoEnum.Baitiao.bt001.getValue())) {
            return "无";
        }
        return "有";
    }

    /**

     */
    public static String getHouse(String house) {
        if (StrUtil.equals(house, BaseTypeInfoEnum.House.hu001.getValue())) {
            return "无";
        } else if (StrUtil.equals(house, BaseTypeInfoEnum.House.hu002.getValue())) {
            return "有";
        }
        return "无";
    }

    /**
     车产信息：有车（全款）,有车（按揭已结清）,有车（按揭中）,无车
     *
     * @param car
     * @return
     */
    public static String getCar(String car) {
        if (StrUtil.equals(car, BaseTypeInfoEnum.Car.car001.getValue())) {
            return "无";
        } else if (StrUtil.equals(car, BaseTypeInfoEnum.Car.car002.getValue())) {
            return "有";
        }
        return "无";
    }

    /**
     * 信用记录：一年内有逾期、一年内无逾期、无贷款、无逾期、逾期超过90天、逾期少于90天
     */
    public static String getYuqi(String yuqi) {
        if (StrUtil.equals(yuqi, BaseTypeInfoEnum.Yuqi.yq001.getValue())) {
            return "有";
        } else if (StrUtil.equals(yuqi, BaseTypeInfoEnum.Yuqi.yq002.getValue())) {
            return "无";
        }
        return "有";
    }

    /**
     * ：1【女】；2【男】
     *
     * @param idCard
     * @return
     */
    public static Integer getSex(String idCard) {
        try {
            int genderByIdCard = IdcardUtil.getGenderByIdCard(idCard);
            return genderByIdCard == 1 ? 2 : 1;
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 2;
    }

    public static Integer getAge(String idCard) {
        try {
            int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard);
            return ageByIdCard;
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 35;
    }


    static List<String> cityList = Arrays.asList("北京市", "天津市", "上海市", "重庆市");

    /**
     * 获取城市信息
     *
     * @param cityName
     * @return
     */
    public static String getCityName(String province, String cityName) {
        try {

            if (cityList.contains(province)) {
                return province.substring(0, province.length() - 1);
            }

            boolean end = cityName.endsWith("市");
            if (end) {
                return cityName.substring(0, cityName.length() - 1);
            }
            return cityName;
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return cityName;
    }
}
